package com.hibikiluler.javalearning.util;

import com.hibikiluler.javalearning.entity.SysMenus;
import com.hibikiluler.javalearning.entity.SysUser;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.context.SecurityContextHolder;

import java.util.List;

@Slf4j
/**
 * 用于获取当前登录用户的基本信息
 */
public class SecurityUtils {
    //从security主体信息中获取用户信息
    public static SysUser getUser() {
        String str = new String(SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString());
//        log.info(str);
        SysUser user = (SysUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        user.setPassword(null);
        return user;
    }

    //从security主体信息中获取用户名
    public static String getUsername(){
        return getUser().getUsername();
    }

    //从security主体信息中获取用户ID
    public static Long getId(){
        return getUser().getId();
    }

    /**
     * 在security中获取用户小程序ID
     * @return
     */
    public static String getOpenId() {
        return getUser().getOpenId();
    }

    /**
     * 在security中获取用户昵称
     * @return
     */
    public static String getNickName() {
        System.out.println(getUser().getNickName());
        return getUser().getNickName();
    }
}
